passt-0^20251223.g2ba9fd5-1.fc44

List of Findings

Error: COMPILER_WARNING (CWE-704): [#def1]
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/conf.c: scope_hint: In function ‘next_chunk’
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/conf.c:78:21: warning[-Wdiscarded-qualifiers]: initialization discards ‘const’ qualifier from pointer target type
#   78 |         char *sep = strchr(s, c);
#      |                     ^~~~~~
#   76|   static char *next_chunk(const char *s, char c)
#   77|   {
#   78|-> 	char *sep = strchr(s, c);
#   79|   	return sep ? sep + 1 : NULL;
#   80|   }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def2]
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:111:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘s’
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:12: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:86:13: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:13: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:91:9: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:99:12: branch_false: following ‘false’ branch (when ‘argc == 2’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: acquire_resource: stream socket created here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:12: branch_false: following ‘false’ branch (when ‘s >= 0’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:13: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:12: branch_true: following ‘true’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:110:67: branch_true: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:111:17: throw: if ‘_exit’ throws an exception...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:111:17: danger: ‘s’ leaks here
#  109|   	if ((stat(argv[1], &sb))) {
#  110|   		fprintf(stderr, "Can't stat() %s: %i\n", argv[1], errno);
#  111|-> 		_exit(1);
#  112|   	}
#  113|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def3]
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:125:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘s’
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:12: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:86:13: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:13: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:91:9: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:99:12: branch_false: following ‘false’ branch (when ‘argc == 2’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: acquire_resource: stream socket created here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:12: branch_false: following ‘false’ branch (when ‘s >= 0’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:13: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:12: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:14: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:12: branch_true: following ‘true’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:123:27: branch_true: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:123:20: branch_true: following ‘true’ branch (when ‘fd < 0’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:124:64: branch_true: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:125:25: throw: if ‘_exit’ throws an exception...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:125:25: danger: ‘s’ leaks here
#  123|   		if ((fd = inotify_init1(IN_CLOEXEC)) < 0) {
#  124|   			fprintf(stderr, "inotify_init1: %i\n", errno);
#  125|-> 			_exit(1);
#  126|   		}
#  127|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def4]
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:130:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘s’
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:12: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:86:13: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:13: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:91:9: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:99:12: branch_false: following ‘false’ branch (when ‘argc == 2’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: acquire_resource: stream socket created here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:12: branch_false: following ‘false’ branch (when ‘s >= 0’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:13: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:12: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:14: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:12: branch_true: following ‘true’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:123:27: branch_true: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:123:20: branch_false: following ‘false’ branch (when ‘fd >= 0’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:21: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:20: branch_true: following ‘true’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:129:68: branch_true: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:130:25: throw: if ‘_exit’ throws an exception...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:130:25: danger: ‘s’ leaks here
#  128|   		if (inotify_add_watch(fd, argv[1], IN_CREATE) < 0) {
#  129|   			fprintf(stderr, "inotify_add_watch: %i\n", errno);
#  130|-> 			_exit(1);
#  131|   		}
#  132|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def5]
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:139:33: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘s’
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:12: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:86:13: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:13: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:91:9: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:99:12: branch_false: following ‘false’ branch (when ‘argc == 2’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: acquire_resource: stream socket created here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:12: branch_false: following ‘false’ branch (when ‘s >= 0’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:13: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:12: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:14: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:12: branch_true: following ‘true’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:123:27: branch_true: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:123:20: branch_false: following ‘false’ branch (when ‘fd >= 0’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:21: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:20: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:20: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:139:33: throw: if ‘_exit’ throws an exception...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:139:33: danger: ‘s’ leaks here
#  137|   			if (n < 0) {
#  138|   				fprintf(stderr, "inotify read: %i\n", errno);
#  139|-> 				_exit(1);
#  140|   			}
#  141|   			buf[n - 1] = '\0';

Error: GCC_ANALYZER_WARNING (CWE-775): [#def6]
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:164:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘s’
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:12: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:86:13: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:13: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:91:9: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:99:12: branch_false: following ‘false’ branch (when ‘argc == 2’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: acquire_resource: stream socket created here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:12: branch_false: following ‘false’ branch (when ‘s >= 0’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:13: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:12: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:14: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:12: branch_true: following ‘true’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:123:27: branch_true: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:123:20: branch_false: following ‘false’ branch (when ‘fd >= 0’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:21: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:20: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:20: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:137:28: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:141:29: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:164:25: throw: if ‘_exit’ throws an exception...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:164:25: danger: ‘s’ leaks here
#  162|   		if (ev->len > NAME_MAX + 1 || ev->name[ev->len - 1] != '\0') {
#  163|   			fprintf(stderr, "Invalid filename from inotify\n");
#  164|-> 			_exit(1);
#  165|   		}
#  166|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def7]
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:170:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘s’
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:12: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:86:13: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:13: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:91:9: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:99:12: branch_false: following ‘false’ branch (when ‘argc == 2’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: acquire_resource: stream socket created here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:12: branch_false: following ‘false’ branch (when ‘s >= 0’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:13: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:12: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:14: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:12: branch_true: following ‘true’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:123:27: branch_true: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:123:20: branch_false: following ‘false’ branch (when ‘fd >= 0’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:21: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:20: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:20: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:137:28: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:141:29: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:162:20: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:168:20: branch_true: following ‘true’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:169:72: branch_true: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:170:25: throw: if ‘_exit’ throws an exception...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:170:25: danger: ‘s’ leaks here
#  168|   		if ((stat(path, &sb))) {
#  169|   			fprintf(stderr, "Can't stat() %s: %i\n", path, errno);
#  170|-> 			_exit(1);
#  171|   		}
#  172|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def8]
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:181:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘s’
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:12: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:86:13: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:13: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:91:9: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:99:12: branch_false: following ‘false’ branch (when ‘argc == 2’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: acquire_resource: stream socket created here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:12: branch_false: following ‘false’ branch (when ‘s >= 0’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:13: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:12: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:14: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:179:12: branch_true: following ‘true’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:180:17: branch_true: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:181:17: throw: if ‘_exit’ throws an exception...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:181:17: danger: ‘s’ leaks here
#  179|   	if (ret <= 0 || ret >= (int)sizeof(a.sun_path)) {
#  180|   		fprintf(stderr, "Invalid socket path\n");
#  181|-> 		_exit(2);
#  182|   	}
#  183|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def9]
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:186:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘s’
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:12: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:86:13: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:13: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:91:9: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:99:12: branch_false: following ‘false’ branch (when ‘argc == 2’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: acquire_resource: stream socket created here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:12: branch_false: following ‘false’ branch (when ‘s >= 0’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:13: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:12: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:14: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:179:12: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:184:14: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:184:12: branch_true: following ‘true’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:185:17: branch_true: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:186:17: throw: if ‘_exit’ throws an exception...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:186:17: danger: ‘s’ leaks here
#  184|   	if ((sb.st_mode & S_IFMT) != S_IFSOCK) {
#  185|   		fprintf(stderr, "%s is not a socket\n", a.sun_path);
#  186|-> 		_exit(2);
#  187|   	}
#  188|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def10]
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:189:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘s’
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:12: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:86:13: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:13: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:91:9: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:99:12: branch_false: following ‘false’ branch (when ‘argc == 2’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: acquire_resource: stream socket created here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:12: branch_false: following ‘false’ branch (when ‘s >= 0’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:13: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:12: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:14: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:179:12: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:184:14: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:184:12: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:184:12: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:189:16: throw: if ‘connect’ throws an exception...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:189:16: danger: ‘s’ leaks here
#  187|   	}
#  188|   
#  189|-> 	while (connect(s, (struct sockaddr *)&a, sizeof(a))) {
#  190|   		if (inotify_dir && errno == ECONNREFUSED)
#  191|   			continue;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def11]
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:402:12: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup2(s, (int)fd)’
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:141:5: enter_function: entry to ‘main’
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:207:25: call_function: inlined call to ‘strncpy’ from ‘main’
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:210:32: branch_true: following ‘true’ branch (when ‘p’ is non-NULL)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:211:33: branch_true: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:323:21: branch_true: following ‘true’ branch (when ‘i != 100’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:323:21: branch_true: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:328:20: branch_false: following ‘false’ branch (when ‘s >= 0’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:333:21: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:345:27: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:348:28: call_function: inlined call to ‘recv’ from ‘main’
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:348:27: branch_false: following ‘false’ branch...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:389:12: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:389:12: branch_false: following ‘false’ branch (when ‘i != 100’)...
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:394:9: branch_false: ...to here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:402:13: acquire_resource: opened here
passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:402:12: danger: ‘dup2(s, (int)fd)’ leaks here; was opened at [(19)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/18)
#  400|   	fprintf(stderr, "Connected to %s\n", addr.sun_path);
#  401|   
#  402|-> 	if (dup2(s, (int)fd) < 0) {
#  403|   		perror("dup");
#  404|   		exit(EXIT_FAILURE);

Scan Properties

analyzer-version-clippy1.92.0
analyzer-version-cppcheck2.19.1
analyzer-version-gcc16.0.0
analyzer-version-gcc-analyzer16.0.0
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-37.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namepasst-0^20251223.g2ba9fd5-1.fc44
store-results-to/tmp/tmp0kb5i3q0/passt-0^20251223.g2ba9fd5-1.fc44.tar.xz
time-created2026-01-08 20:07:02
time-finished2026-01-08 20:08:54
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmp0kb5i3q0/passt-0^20251223.g2ba9fd5-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmp0kb5i3q0/passt-0^20251223.g2ba9fd5-1.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9